package com.ruoyi.system.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.ruoyi.system.api.domain.SysOrg;

import java.util.List;

/**
 * 机构Mapper接口
 * 
 * @author ruoyi
 * @date 2023-02-07
 */
public interface SysOrgMapper 
{
    /**
     * 查询机构
     * 
     * @param orgId 机构主键
     * @return 机构
     */
    public SysOrg selectSysOrgByOrgId(Long orgId);

    /**
     * 查询机构列表
     * 
     * @param sysOrg 机构
     * @return 机构集合
     */
    public List<SysOrg> selectSysOrgList(SysOrg sysOrg);

    /**
     * 新增机构
     * 
     * @param sysOrg 机构
     * @return 结果
     */
    public int insertSysOrg(SysOrg sysOrg);

    /**
     * 修改机构
     * 
     * @param sysOrg 机构
     * @return 结果
     */
    public int updateSysOrg(SysOrg sysOrg);

    /**
     * 删除机构
     * 
     * @param orgId 机构主键
     * @return 结果
     */
    public int deleteSysOrgByOrgId(Long orgId);

    @InterceptorIgnore(tenantLine = "true")
    public int deleteDeptById(Long orgId);


    /**
     * 批量逻辑删除删除机构
     * 
     * @param orgIds 需要删除的数据主键集合
     * @return 结果
     */
    @InterceptorIgnore(tenantLine = "true")
    public int deleteSysOrgByOrgIds(Long[] orgIds);

    @InterceptorIgnore(tenantLine = "true")
    public int deleteUserRole(Long[] userIds);

    @InterceptorIgnore(tenantLine = "true")
    public int deleteUserByIds(Long[] userIds);

    List<SysOrg> selectOrgList(SysOrg sysOrg);
}
